/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package menadzery;

import java.util.Vector;
import obiekty.Karta;
import okna.WidokStol;

/**
 *
 * @author sufka
 */
public class Rozgrywka {

    private Integer kasaNaStole;
    private WidokStol stol;
    private Vector<Gracz> gracze;
    private Vector<Karta> talia; //karty, ktore zostaly jeszcze nierozdane
    private Integer liczbaGraczy;
    private Integer stanowiskoKlienta;

    public Integer getKasaNaStole() {
        return kasaNaStole;
    }

    public void setKasaNaStole(Integer kasaNaStole) {
        this.kasaNaStole = kasaNaStole;
    }

    public Integer getStanowiskoKlienta() {
        return stanowiskoKlienta;
    }

    public Vector<Gracz> getGracze() {
        return gracze;
    }

    public WidokStol getStol() {
        return stol;
    }

    public Integer getLiczbaGraczy() {
        return liczbaGraczy;
    }

    public void setLiczbaGraczy(Integer liczbaGraczy) {
        this.liczbaGraczy = liczbaGraczy;
    }

    public void nowaTura(Integer stanowisko) {
        for (int i = 0; i < gracze.size(); ++i) {
            Integer mojeStanowisko = (gracze.elementAt(i).getStanowiskoPrzyStole() - stanowisko + 4) % 4;
            stol.getTextFieldStawka(mojeStanowisko).setText("0");
        }
        stol.getJTextField5().setText("0");
        stol.getJTextField6().setText("0");
        stol.getJTextField7().setText("0");
        stol.wyczyscLabelPas();
        for(int i = 0; i < gracze.size(); ++i){
            if( i != stanowisko ){
                for( int j = 0; j < 5; ++j)
                    gracze.elementAt(i).getKarty().elementAt(j).setOdkryta(false);
            }
        }


    }

    public void budujStol(Integer stanowisko) {
        Integer zerowy = new Integer(0);
        for (int i = 0; i < gracze.size(); ++i) {
            Integer mojeStanowisko = (gracze.elementAt(i).getStanowiskoPrzyStole() - stanowisko + 4) % 4;
            stol.getLabelLogin(mojeStanowisko).setText(gracze.elementAt(i).getLogin());
            stol.getTextFieldKasa(mojeStanowisko).setText(gracze.elementAt(i).getStanKonta().toString());
            gracze.elementAt(i).ustawKarty(mojeStanowisko);
            stol.getTextFieldStawka(mojeStanowisko).setText("0");
            if(mojeStanowisko.equals(0)) zerowy = i;
        }
        stol.getJTextField5().setText("0");
        stol.getJTextField6().setText("0");
        stol.getJTextField7().setText("0");
        for (int i = gracze.size(); i < 4; ++i) {
            Integer mojeStanowisko = (i - stanowisko + 4) % 4;
            stol.getLabelLogin(mojeStanowisko).setText("PUSTE");
            stol.getTextFieldKasa(mojeStanowisko).setText("BRAK");
            stol.getTextFieldStawka(mojeStanowisko).setText("BRAK");
        }
        stol.setTitle("Gracz " +(stanowisko+1)+". o loginie: "+gracze.elementAt(zerowy).getLogin());
        stanowiskoKlienta = stanowisko;
        stol.setVisible(true);
        stol.repaint();
    }

    public Rozgrywka(Klient klient) {
        stol = new WidokStol(this, klient);
        gracze = new Vector<Gracz>();
//        gracze.add(new Gracz("Pawel"));
//        for(int i = 0; i < gracze.elementAt(0).getKarty().size(); ++i){
//            gracze.elementAt(0).getKarty().elementAt(i).narysujSie(stol.getJPanel1());
//        }
        stol.setVisible(false);
        liczbaGraczy = new Integer(2);
        stanowiskoKlienta = new Integer(0);
        kasaNaStole = new Integer(0);
    }
}
